package com.jimikongjian.service.dao.impl;

import com.jimikongjian.dao.IAlbum;
import com.jimikongjian.models.Album;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Service;

import java.util.List;

/**
 * Created by fuxiuyang on 17/2/23.
 */
@Service("iAlbumImpl")
public class IAlbumImpl implements IAlbum {

    @Autowired
//    @Qualifier("albumMapper")
    private IAlbum iAlbum;

    /**
     * 通过相册id获取相册信息
     *
     * @param id
     * @return List<Album>
     */
    public List<Album> getAlbumListById(int id) {
        if (id > 0){
            return iAlbum.getAlbumListById(id);
        }
        return null;
    }

    /**
     * 通过相册id获取相册信息
     *
     * @param id
     * @return Album
     */
    public Album getAlbumById(int id) {
        if (id > 0){
            List<Album> albumList = getAlbumListById(id);
            if (albumList.size() > 0){
                return albumList.get(0);
            }
        }
        return null;
    }

    /**
     * 通过空间的id号，获取该空间的相册列表
     *
     * @param roomId
     * @return List<Album>
     */
    public List<Album> getAlbumListByRoomId(int roomId, int start, int length) {
        if (roomId > 0){
            return iAlbum.getAlbumListByRoomId(roomId, start, length);
        }
        return null;
    }

    /**
     * 通过用户的id号，获取该用户所创建的所有的相册的列表
     *
     * @param userId
     * @return List<Album>
     */
    public List<Album> getAlbumListByUserId(int userId) {
        if (userId > 0){
            return iAlbum.getAlbumListByUserId(userId);
        }
        return null;
    }

    /**
     * 创建一个新的相册
     *
     * @param album
     */
    public void insertAlbum(Album album) {
        if (album.getUserId() > 0
                && album.getUserNick() != ""
                && album.getRoomId() > 0
                && album.getRoomName() != ""){
            iAlbum.insertAlbum(album);
        }

    }

    /**
     * 更新相册内容
     *
     * @param album
     */
    public void updateAlbum(Album album) {
        if (album.getAlbumTitle() != ""
                && album.getAlbumDesc() != ""
                && album.getId() > 0){
            iAlbum.updateAlbum(album);
        }
    }

    /**
     * 更新相册中图片的数量
     *
     * @param album
     */
    public void updateAlbumPhotosCount(Album album) {
        if (album.getPhotosCount() > 0
                && album.getId() > 0){
            iAlbum.updateAlbumPhotosCount(album);
        }
    }

    /**
     * 更新相册的封面
     *
     * @param album
     */
    public void updateAlbumCover(Album album) {
        if ((album.getCover1() != ""
                ||album.getCover2() != ""
                ||album.getCover3() != "")
                && album.getId() > 0){
            iAlbum.updateAlbumCover(album);
        }
    }

    /**
     * 删除相册
     *
     * @param album
     */
    public void deleteAlbum(Album album) {
        if (album.getId() > 0){
            iAlbum.deleteAlbum(album);
        }
    }
}
